package cliente.pagina.contenido.inscripcionOnLine;

import cliente.pagina.*;
import comun.constantes.*;
import cliente.pagina.contenido.VistaContenido;
import helpers.inscripcionOnLine.HelperInscripcionOnLine;

public class ContenidoInscripcionOnLine  extends VistaContenido{
	 
	HelperInscripcionOnLine helperInscripcionOnLine=null;
	Long idAulaViaWeb = null;
	Long idPersona = null;
	Long idTipoUsuario = null;
	String aulaid = null;
	String nombreAula = null;
	 
	public ContenidoInscripcionOnLine(){}
	
	public ContenidoInscripcionOnLine(Pagina pagina) {
		super(pagina);
	}
	
	public void setPagina(Pagina pagina){
		super.setPagina(pagina);
		if (pagina.getParameter(PARAMETROS_PAGINAS.ID_AULA_VIA_WEB)!=null)
			idAulaViaWeb = new Long(pagina.getParameter(PARAMETROS_PAGINAS.ID_AULA_VIA_WEB));
		if (pagina.getParameter(PARAMETROS_PAGINAS.NOMBRE_AULA)!=null)
			nombreAula = new String(pagina.getParameter(PARAMETROS_PAGINAS.NOMBRE_AULA));
	}
	
	// redefino el metodo abstracto de Vista contenido
	public String getTituloLink() {
		return "\"Inscribirme en un aula virtual\">Insc<span>"+this.getTeclaAccesoRapido()+"</span>ipci&oacute;n On Line &nbsp;<small>(Alumnos)</small>";
	}
	public String getTeclaAccesoRapido() {	
		return "r";
	}
	public String getHTMLVista(){
		try{
			helperInscripcionOnLine= new HelperInscripcionOnLine(this.getPagina());
			String accion = this.getPagina().getParameter(PARAMETROS_PAGINAS.ACCION);
			String resultadoAccion = this.procesarAccion(accion);
			String html = "       <h1>"+this.getTitulo()+" en Aulas Virtuales"+"</h1>";
			html += resultadoAccion;
			if (accion == null){
				html += "<p class=\"foroDestacar\"> Seleccionar un aula virtual y presionar el bot&oacute;n <strong>Inscribirme</strong>.</p>";
				if (this.getPagina() instanceof PaginaCarrera)
					html += helperInscripcionOnLine.generarHTMLInscripcionOnLineCarrera();
				else if (this.getPagina() instanceof PaginaCampus)
					html += helperInscripcionOnLine.generarHTMLInscripcionOnLineCampus();
			}	
			helperInscripcionOnLine.commit();
			return html;
		} catch (Exception ex) {
			ex.printStackTrace();
			helperInscripcionOnLine.rollback();
			String html = "";
			html = "<p class=\"mensajeError\">No se pudo realizar la Inscripci&oacute;n al Aula.</p>";
			html += "<p><strong>Disculpe los inconvenientes y por favor vuelva a intentarlo.</strong></p>";
			return html;
		}		
	}	
	
	private String procesarAccion(String accion) throws Exception {
		String html = "";
		if(accion != null){
			if (accion.compareTo(ACCIONES_A_REALIZAR.REALIZAR_INSCRIPCION)==0 ){
				String org = this.getPagina().getParameter(PARAMETROS_PAGINAS.ACCION2);
				idAulaViaWeb = new Long(this.getPagina().getParameter(PARAMETROS_PAGINAS.ID_AULA_VIA_WEB+org));
				html = helperInscripcionOnLine.InscripcionOnLine(idAulaViaWeb, this.getPagina().getNombreAula()); //, this.getPagina().getIdTipoUsuario()
			}else {//Estamos confirmando la inscripcion
				if (accion.compareTo(ACCIONES_A_REALIZAR.CONFIRMAR_INSCRIPCION)==0 )
					html = helperInscripcionOnLine.InscripcionEnAula();
			}			
		}		
		return html;
	}
	
		protected String getSubcarpetaRecurso() {
			/**@todo Implement this cliente.pagina.contenido.VistaContenido abstract method*/
			throw new java.lang.UnsupportedOperationException("Method getSubcarpetaRecurso() not yet implemented.");
		}
		
		public String getTitulo() {
			return TITULOS_PAGINAS.INSCRIPCION_ON_LINE;
		}
		public String getNombreRecurso() {
			/**@todo Implement this cliente.pagina.contenido.VistaContenido abstract method*/
			return RECURSOS.INICIO;
		}
		protected String getNombrePagina() {
			/**@todo Implement this cliente.pagina.contenido.VistaContenido abstract method*/
			return "inscripcion_on_line.jsp";
		}		
	}